06. Robot Enhancements
Robot Enhancement
Now that you’ve built a basic model of your robot, enhance it and add wheels. Each wheel is represented as a
link
and is connected to the base link (the chassis) with a
joint
.
Create Wheel
Links
You will first create the links for each wheel using the specifications given below and add that to your Xacro file. For each wheel, you will have a
collision
,
inertial
, and
visual
element, along with the following properties:
-
link name
- "SIDE_wheel", where the SIDE is either left or right. -
geometry
- "cylinder" with radius 0.1 and length 0.05. -
origin
for each element - [0, 0, 0, 0, 1.5707, 1.5707] -
mass
of each wheel - "5". -
You can use the same
inertia
values as the ones for the chassis for simplicity:
ixx="0.1" ixy="0" ixz="0"
iyy="0.1" iyz="0"
izz="0.1"
Create
Joints
for the two wheels
Once define the links, you need to create the corresponding joints. The following elements will create a joint between your left wheel (the child link) and the robot chassis (the parent link):
<joint type="continuous" name="left_wheel_hinge">
<origin xyz="0 0.15 0" rpy="0 0 0"/>
<child link="left_wheel"/>
<parent link="chassis"/>
<axis xyz="0 1 0" rpy="0 0 0"/>
<limit effort="10000" velocity="1000"/>
<dynamics damping="1.0" friction="1.0"/>
</joint>
The
joint type
is set to "continuous" and is similar to a revolute joint but has no limits on its rotation. This means that the joint can rotate continuously. The joint will have its own
axis
of rotation. Also, the joint will have certain
limits
to enforce the maximum "effort" and "velocity" for that joint. The limits are useful constraints in for a real robot and can help in simulation as well. ROS has
good documentation on safety limits
. In addition, the joint will have specific joint
dynamics
that correspond to the physical properties of the joint like "damping" and “friction”.
Add the left wheel joint to your Xacro file. Then use it as a template to create the joint between the right wheel and the chassis.
Robot Enhancements
SOLUTION:
- Child link
- Position (origin)
Launch
Excellent work! You can now launch the
empty.world
file to visualize your enhanced robot model in Gazebo.
Task Description:
Follow these steps to enhance the basic robot model created earlier.
Task Feedback:
Great job!